package com.chen.base.module.redis.utils;

import com.chen.base.utils.SpringContextHolder;
import org.springframework.data.redis.core.RedisTemplate;

/**
 * redis消息通道 发布/订阅 工具类
 * @author: ChenJinLong
 * @DATE: 2024/2/2
 **/
public class RedisPubSubUtil {

    private static final RedisTemplate<String, Object> REDIS_TEMPLATE;
    static {
        REDIS_TEMPLATE = SpringContextHolder.getBean(RedisTemplate.class);
    }

    /**
     * 发送消息
     * @param channelName 通道名称
     * @param data 数据
     * @param <T> 数据类型
     */
    public static <T> void send(String channelName, T data){
        REDIS_TEMPLATE.convertAndSend(channelName, data);
    }
}
